package main.java.com.web;

import main.java.com.service.DishService;
import main.java.com.service.impl.DishServiceImpl;

import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.io.IOException;

//删除操作
@WebServlet("/DeleteDishServlet")
public class DeleteDishServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 设置请求和响应的字符编码
        request.setCharacterEncoding("UTF-8");
        response.setContentType("text/html; charset=UTF-8");
        // 获取请求中的id参数，并将其转换为Long类型
        Long id = Long.parseLong(request.getParameter("id"));

        // 创建DishService的实例，用于执行删除菜品的操作
        DishService dishService = new DishServiceImpl();
        // 调用deleteDish方法删除指定id的菜品，并获取删除结果
        int deleteResult = dishService.deleteDish(id);

        if (deleteResult > 0) {
            // 如果受影响行数大于0，即删除成功，设置状态码为200（表示成功），并返回相应提示信息
            response.setStatus(HttpServletResponse.SC_OK);
            response.getWriter().write("1"); // 返回1表示成功
        } else {
            // 如果受影响行数为0或者出现异常导致返回值小于等于0，设置状态码为500（表示服务器内部错误），并返回相应提示信息
            response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
            response.getWriter().write("0"); // 返回0表示失败
        }

        // 记录日志
        System.out.println("Delete result: " + deleteResult);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doGet(request, response);
    }
}
